/**
 * 多语言支持工具
 */
import AsyncStorage from '@react-native-async-storage/async-storage';

// 语言资源
const translations = {
  zh: {
    // 首页相关
    'home': '首页',
    'discover': '发现',
    'noMoreUsers': '没有更多用户了',
    'noRecommendedUsers': '暂无推荐用户',
    'refresh': '刷新',
    'loading': '加载中...',
    
    // 动态相关
    'feed': '动态',
    'post': '发布',
    'shareSomething': '分享新鲜事...',
    'photo': '照片',
    'video': '视频',
    'publishSuccess': '发布成功',
    'publishFailed': '发布失败',
    
    // 聊天相关
    'chat': '聊天',
    'likes': '赞',
    'visitors': '访客',
    
    // 我的相关
    'profile': '我的',
    'editProfile': '编辑资料',
    'profileCompletion': '资料完整度',
    'diamondBalance': '粉钻余额',
    'rechargeDiamonds': '充值粉钻',
    'openVip': '开通VIP',
    'logout': '退出登录',
    
    // 语言设置
    'languageSettings': '语言设置',
    'chinese': '中文',
    'english': 'English',
    
    // 通用
    'cancel': '取消',
    'confirm': '确认',
    'success': '成功',
    'failed': '失败',
    'error': '错误',
  },
  en: {
    // Home related
    'home': 'Home',
    'discover': 'Discover',
    'noMoreUsers': 'No more users',
    'noRecommendedUsers': 'No recommended users',
    'refresh': 'Refresh',
    'loading': 'Loading...',
    
    // Feed related
    'feed': 'Feed',
    'post': 'Post',
    'shareSomething': 'Share something new...',
    'photo': 'Photo',
    'video': 'Video',
    'publishSuccess': 'Published successfully',
    'publishFailed': 'Publish failed',
    
    // Chat related
    'chat': 'Chat',
    'likes': 'Likes',
    'visitors': 'Visitors',
    
    // Profile related
    'profile': 'Profile',
    'editProfile': 'Edit Profile',
    'profileCompletion': 'Profile Completion',
    'diamondBalance': 'Diamond Balance',
    'rechargeDiamonds': 'Recharge Diamonds',
    'openVip': 'Open VIP',
    'logout': 'Logout',
    
    // Language settings
    'languageSettings': 'Language Settings',
    'chinese': '中文',
    'english': 'English',
    
    // General
    'cancel': 'Cancel',
    'confirm': 'Confirm',
    'success': 'Success',
    'failed': 'Failed',
    'error': 'Error',
  }
};

// 当前语言
let currentLanguage = 'zh';

// 初始化语言设置
const initLanguage = async () => {
  try {
    const savedLanguage = await AsyncStorage.getItem('appLanguage');
    if (savedLanguage) {
      currentLanguage = savedLanguage;
    }
  } catch (error) {
    console.error('Failed to load language setting:', error);
  }
};

// 切换语言
const switchLanguage = async (languageCode) => {
  currentLanguage = languageCode;
  try {
    await AsyncStorage.setItem('appLanguage', languageCode);
  } catch (error) {
    console.error('Failed to save language setting:', error);
  }
};

// 获取翻译文本
const t = (key) => {
  const languageTranslations = translations[currentLanguage] || translations.zh;
  return languageTranslations[key] || key;
};

// 获取当前语言
const getCurrentLanguage = () => {
  return currentLanguage;
};

export {
  initLanguage,
  switchLanguage,
  t,
  getCurrentLanguage
};